Organizations acquire the right to use electronic resources (e.g., software or hardware functions) through a complex set of electronically-enforceable agreements that provide specific terms under which the electronic resources may be used. Each agreement can grant rights to an entity account or a device to access one or more electronic resources under one or more electronically-enforceable constraints (e.g., according to the terms). A resource control system can examine and enforce these rights. For example, the electronically-enforceable agreement can be referred to as a “license.” The resource control system can also include a distribution system. The distribution system can account for consumption of individual rights (e.g., “entitlements”) to one or more electronic resources. A license entitlement is a consumable representation of a key that provides access (e.g., with electronically-enforceable constraints) to an electronic resource or a set of electronic resources. The license entitlement can be “consumed” by per usage, per account, per device, per time period, or any combination thereof. When the parties (e.g., an end-user device and the distribution system) commit to the grant of an entitlement, the end-user device is said to have “consumed” the license entitlement. This can be referred to as a license consumption event. It should be noted that some agreements may or may not be electronically enforceable, and license entitlements may or may not be enforced before a resource is permitted to be used. Compliance with an agreement can be evaluated after the fact, for example during an audit, based on electronic records of usage of the resources by entities and/or devices (license consumption events).
It is common for each license consumption event to have more than one potential license entitlement, e.g., license type, that may grant the requested rights of a consumption demand request. For example, access to a software application can be provisioned using an instance-based license that allows any entity to access a specified instance of the software application, that is, an instance of the software application executing on a specified computer. In another example, the access can be provisioned using user-based license that allows a specified user to access any instance of the software application, that is, any instance of software application executing on any of the computers. Various such license types can be provisioned. Further, the associated cost of each license type can be different. Also, an agreement may be flexible as to specific numbers of license entitlements of various types. The organization is liable for license entitlements actually consumed over a period of time, and the organization is free to choose the combination of license entitlements across various types (e.g., to minimize cost) as long as this combination is sufficient to cover all the recorded license consumption events.
In a typical organization, a combination of such license types may be provisioned. When this ambiguity (e.g., having multiple possible variations of license entitlements to consume) exists, enterprises (e.g., potential consumers of the license entitlements) generally desire to obtain the most cost effective entitlement to accomplish the desired task associated with the desired electronic resource. This can serve to minimize the cost of utilizing the electronic resource. For example, the organization may want to determine how many instance-based license types and user-based license types (and for which users) are to be obtained to satisfy the demand in a most cost-effective way. Due to the large number of possibilities across usage constraint types and due to frequent changes to terms of electronically-enforceable agreements, resource versions, resource variations, resource editions, agreement editions, resource consumption patterns, or any combination thereof, it is often impractical for any organization or person to conduct such an optimization exercise in a reasonable amount of time. This challenge is further exacerbated by variance in usage channels (e.g., usage of resources from physical installations, remote usage with technologies such as application or desktop virtualizations, global usage rights, etc.). A typical distribution system may need to process millions of consumption demand requests and grant just as many entitlements within a short period of time. Accordingly, conventional distribution systems are unable to optimize its assignments of license entitlement in an effective manner.